Installation unter DosEmu für Linux
Kategorie:GeosInstallation Installation unter DosEmu für Linux (Übernahme vom Infobase-Forum) lenz, 18.03.2008 - 22:33 Hi, vielleicht mache ich ja nur einen ganz einfachen Fehler: Dosemu (unter Ubuntu) läuft. Ich kann auch DOS-Spiele von Diskette aus starten. Aber NDO von CD kriege ich nicht installiert! :-( Ich habe mal Bildschirmfotos gemacht: http://www.cvo6.de/Computer/NDO/images.html Ich kriege immer ein: "Sorry, no suitable installation drive" entgegengeschleudert. Was mache ich falsch??? Die Sache ist für mein Schulprojekt! bolle732, 18.03.2008 - 22:42 Unter DOSEMU werden die Laufwerke als Netzwerklaufwerke konfiguriert. Der Installer von GEOS stört sich aber daran... Lösung: Es muss hierzu ein Parameter beim Aufruf der INSTALL.EXE angegeben werden, welcher das Installieren auf Netzwerklaufwerken zulässt. Wie der genau heisst, weiss ich grad nicht auswendig, aber mit "INSTALL.EXE /?" wird er angezeigt. Es sollte der einzige Parameter sein. Das Nachfragen des Installers muss dann noch jeweils mit einem lauten JAAA bestätigt werden ;-) Gruss Andreas Geos-Tiger, 24.03.2008 - 21:29 Hallo Oliver, soweit bin ich mit meiner DOS-EMU Installation unter Ubuntu bisher nicht gekommen. Nach der Vorführung beim letzten GEOS-Treffen von Andreas wie die DOS-EMU unter Linux läuft, habe ich mich entschlossen dies auch zu versuchen. Nachdem ich Ubuntu installiert hatte, habe ich das DOS-EMU Paket entpackt und gestartet. DOS-EMU läuft auch und meldet sich mit dem Starttext. Leider hatte ich ein Paket runtergeladen wo noch kein DOS (Freedos) enthalten war. Eigentlich kann man ja mit den richtigen Befehlen auch jedes andere DOS unter DOS-EMU einbinden. Da ich aber absoluter Linux-Neuling bin, wollte ich erst einmal diese fertige Variante ausprobieren. Also habe ich noch einmal das DOS-EMU-Paket mit Freedos runtergeladen und entpackt. Wenn ich jetzt die DOS-EMU starte, erhalte ich die Fehlermeldung, dass die command.com Datei nicht gefunden wird. Diese Datei ist aber im Verzeichnis enthalten. Weiter bin ich bisher nicht gekommen. Vielleicht kannst Du ja einmal hier schreiben wie Du genau vorgegangen bist und welches DOS Du in der DOS-EMU benutzt. @Andreas: Danke für diese Info. Habe nachfolgende Optionen der Install-Datei gefunden: Version 5.03d - INSTALL Command Line Options: -m .............. forces monochrome mode and compatible screen writes -v .............. displays Installer version number ON DRIVE D ...... forces installation to drive D Gruss Jens - Geos-Tiger - bolle732, 25.03.2008 - 20:57 Hallo Jens Hab mich da ganz schlecht erinnert... Es gibt wirklich mehrere Optionen. Die gesuchte ist auf jeden Fall "ON DRIVE" und man sollte auf der Kommandozeile folgendes eingeben: INSTALL.EXE ON DRIVE GEOS erkennt das Netzwerklaufwerk von DOSEMU als Wechselmedium. Man muss dies während der Installation dann auch noch explizit bejahen, wenn der Installer nachfragt. GENERELL - Für ein Betriebssystem, welches nicht das ganze System in den Arbeitsspeicher lädt, gilt folgendes: Die Systemdateien müssen auf einem fixen Medium installiert werden. Bei Wechselmedien ist das nicht garantiert, da der Benutzer das Medium jederzeit wechseln kann (wenn kein vom OS gesteuerter Verschlussmechanismus existiert). Bei Netzwerklaufwerken ist es auch nicht garantiert, da bei Netzwerkverbindungen immer mit Unterbrüchen gerechnet werden muss. Klar, eine Festplatte oder ein anderer fixer Speicher kann auch aussteigen. Nur geschieht das hier im Verhältnis von tausenden bis zu millionen Mal weniger... Wenn ein Interesse existiert, kann ich mal meine Konfiguration posten, welche ich unter SUSE 10.3 verwende. Habe da aber stark die Standardinstallation umgebaut, so dass es mir gefällt. Gruss Andreas bolle732, 22.04.2008 - 22:17: Kurzanleitung Hallo zusammen Also, hier folgt eine Kurzanleitung meiner GEOS-Installation unter DOSEMU. Sie wird nicht 100% vollständig sein, da ich diese Anleitung im Nachhinein geschrieben habe. Folgendes im Voraus: Es wäre schön, wenn wir ein generisches und gemeinsames Dokument erarbeiten könnten. Hierzu müssten wir uns den Aufbau überlegen und Konventionen festlegen. Aber so schöne Tabellen, wie zum Beispiel welche DOSEMU-Option in welchem Falle sinnvoll ist und welche wann Probleme bereiten, könnten vielen helfen, wenn es nicht sogar damit möglich ist, das Ganze zu automatisieren. Suse Linux 10.3 auf dem Rechner installieren Bei mir hat die Installation von Suse 10.3 auf meinen IBM ThinkPad X30 die komplette Hardware erkannt. Ich musste nichts, aber auch wirklich nichts mehr daran herumbasteln ;-) DOSEMU und FreeDOS-Pakete mit YAST installieren Es gibt verschiedene Wege, Pakete zu installieren. Ich werde dies hier nicht explizit beschreiben. Verzeichnisse für die DOSEMU-Laufwerke erstellen Im Benutzerverzeichnis "~" habe ich Verzeichnisse "~/.dosemu/drive_c" und "~/.dosemu/drive_d" angelegt. Das Tildezeichen steht für den Pfad des Benutzerverzeichnisses, bei mir ist das "/home/bolle". FreeDOS ins lokale Benutzerverzeichnis kopieren Standardmässig startet DOSEMU vom gemeinsam zur Verfügung gestellten Laufwerk "Z:" und ändert dann das Laufwerk auf "C:". Dabei musste ich jeweils zweimal die Anpassungen an der "config.sys" und der "autoexec.bat" machen, jeweils im "drive_z" und im "drive_c". Bei mir habe deshalb den Inhalt aus dem Verzeichnis "/usr/share/dosemu/drive_ z" in das Verzeichnis "~/.dosemu/drive_c" kopiert. Anpassen der Konfigurations-Dateien Ich habe nun alle Konfigurations-Dateien folgendermassen angepasst. ~/.dosemu/drive_c/config.sys SWITCHES=/F DOS=UMB,HIGH DOSDATA=UMB LASTDRIVEHIGH=F FILESHIGH=120 STACKS=0 rem BUFFERSHIGH=30 DEVICEHIGH=C:\DOSEMU\EMS.SYS rem DEVICEHIGH=C:\DOSEMU\CDROM.SYS SHELLHIGH=C:\COMMAND.COM /E:512 /P ~/.dosemu/drive_c/autoexec.bat @ECHO OFF PATH C:\BIN;C:\GNU;C:\DOSEMU ALIAS BBE=D:\ENSEMBLE\LOADER.EXE /LOG SET HELPPATH=C:\HELP SET TEMP=C:\TMP BLASTER PROMPT $P$G EMUMOUSE x 8 y 8 a C: CD \NET LSL.COM LH PDETHER.EXE D: CD \ENSEMBLE RESET.BAT LOADER.EXE /LOG EXITEMU ~/.dosemu/dosemu.conf $_rdtsc = (on) $_hdimage = "drive_c drive_d" $_cdrom = "" $_lfn_support = (off) $_ems = (0) $_mouse = "ps2" $_sound = (2) $_netdev = "tap0" $_X_title = "GEOS on DOSEmu" $_X_icon_name = "GEOS" $_X_pm_interface = (off) ~/.dosemu/drive_c/net/net.cfg Link Support Max Boards 1 Max Stacks 3 Buffers 2 1514 Link Driver PDETHER Int 60 Frame Ethernet_II Protocol IP 800 Ethernet_II Protocol ARP 806 Ethernet_II Protocol RARP 8035 Ethernet_II Startverknüpfung erstellen Zum Starten von DOSEMU verwende ich eine Verknüpfung auf dem Desktop. Diese startet direkt das DOSEMU-Binary mit der Konfigurationsdatei. Somit weiss ich, welche Konfigurations-Optionen aktiv sind und welche nicht. Das Wrapper-Start-Skript verwende ich nicht. /usr/bin/dosemu.bin -f /home/bolle/.dosemu/dosemu.con f PCGEOS installieren Ich habe mir die Quellen von PCGEOS (BBE) ins Verzeichnis "~/.dosemu/drive_d/geos" kopiert. Danach habe ich mit der Startverknüpfung DOSEMU gestartet. Nun ins Verzeichnis "D:\GEOS" wechseln und die Installation mit "INSTALL.EXE ON DRIVE D" starten. Bei der Nachfrage "Is drive D a removable disk type with a door handle?" habe ich mit "N" für Nein geantwortet. Hiermit läuft die Installation dann wie gehabt. ~/.dosemu/drive_d/ensemble/geos.ini tcpip driver = TCP/IP Driver driverType = 0 link = ODI Ethernet Driver ;linkPermName = ppp linkDomain = EtherODI port = 2 accessPoint0002 name = DOSEMU-TAP BR netType = 1 default = 1 ipaddr = 192.168.100.100 ipgate = 192.168.100.254 ipmask = 255.255.255.0 dns1 = xxx.xxx.xxx.xxx dns2 = xxx.xxx.xxx.xxx phone = 0 promptSecret = 1 localDialingOptions = 0 Netzwerkverbindung einrichten Wenn man die Netzwerkverbindung des Linuxrechners unter GEOS benutzen will, sollte man das Paket "openvpn" installieren. Hiermit kann man eine Netzwerk-Brücke (bridge) erstellen, über welchen dann der Linuxrechner und GEOS-DOSEMU-TAP gemeinsam auf die Netzwerkverbindung zugreifen können. Damit dies funktionierte, musste ich bei mir die Firewall deaktivieren. Hierzu habe ich mir ein Skript gebaut, welches die Netzwerk-Brücke und den TAP-Adapter erstellt. Es muss natürlich vor dem Starten von DOSEMU als Benutzer "root" ausgeführt werden. Mit "tap0-ctrl.sh start" wird das Netzwerk konfiguriert und mit "tap0-ctrl.sh stop" wieder rückgängig gemacht. !!! ACHTUNG: Es müssen der Benutzername "bolle" und die Netzwerkschnittstelle "eth0" mit den entsprechenden Werten ersetzt werden. Welche Netzwerkschnittstelle aktiv ist, kann mit dem Konsolenprogramm "ifconfig" herausgefunden werden. Werde eventuell mal eine erweiterte Version machen um die aktive Schnittstelle automatisch zu ermitteln und den Benutzernamen per Argument übernimmt. Oder per "sudo" gestartet den Benutzernamen herausfinden kann. OK, genug geschwafelt. ~/.dosemu/tap0-ctrl.sh #!/bin/bash case $1 in start) echo "Loading kernel module TUN for TAP adapters" modprobe tun echo "Creating bridge device br0" brctl addbr br0 echo "Setting up interface of bridge device br0" ifconfig br0 192.168.100.254 netmask 255.255.255.0 up echo -n "Creating TAP adapter" tunctl -b -u bolle -t tap0 echo "Connecting TAP adapter tap0 to bridge device br0" brctl addif br0 tap0 echo "Setting up interface of TAP adapter tap0" ifconfig tap0 up 0.0.0.0 promisc echo "Enabling IP forwarding" echo 1 > /proc/sys/net/ipv4/ip_forward echo "Adding firewall rules for TAP adapter tap0" iptables -A INPUT -i tap0 -j ACCEPT echo "Adding firewall rules for bridge device br0" iptables -A INPUT -i br0 -j ACCEPT echo "Adding firewall forwarding to bridge device br0" iptables -A FORWARD -i br0 -j ACCEPT echo "Adding firewall NAT routing for interface eth0" iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ;; stop) echo "Removing firewall forwarding from bridge device br0" iptables -D FORWARD -i br0 -j ACCEPT echo "Removing firewall rules for TAP adapter tap0" iptables -D INPUT -i tap0 -j ACCEPT echo "Removing firewall rules for bridge device br0" iptables -D INPUT -i br0 -j ACCEPT echo "Removing firewall NAT routing for interface eth0" iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE echo "Disabling IP forwarding" echo 0 > /proc/sys/net/ipv4/ip_forward echo "Shuting down interface of TAP adapter" ifconfig tap0 down echo "Disconnect TAP adapter tap0 from bridge device br0" brctl delif br0 tap0 echo "Deleting TAP adapter tap0" tunctl -d tap0 echo "Shuting down bridge device br0" ifconfig br0 down echo "Deleting bridge device br0" brctl delbr br0 ;; *) echo "Usage: $(basename $0) (start|stop)" ;; esac thass, 22.04.2008 - 23:36 Hallo, habe das Ganze eben auch mal auf die Schnelle an einem Ubuntu 7.10 probiert und möchte ein paar Hinweise beisteuern: # DOSEMU incl. FreeDOS ist direkt über "Anwendungen hinzufügen" zu installieren, dafür muss man aber unter Enstellungenugen.>Softwarequellen..." den Punkt "Proprietäre Gerätetreiber (restricted)" aktiv haben, dann funktioniert es aus dem Stand # es muss ein echtes LW A: vorhanden sein, musste dafür meine Dockingstaion vorkramen # INSTALL.EXE muss wie beschrieben mit Option "ON DRIVE C" gestartet werden # der Installer kann die config.sys und autoexec.bat nicht schreiben, deshalb diesen Punkt bei der Installation üerspringen # config.sys und autoexec.bat in $HOME/.dosemu/cdrive_c sind nach /etc/dosemu verlinkt, d.h. man braucht root-Rechte sie zu bearbeiten, also Aufruf 'sudo vi config.sys' # vor dem ersten Start muss in der Geo.ini system fs = {msnet.geo cdrom.geo} eingetragen werden (nur nochmal der Vollständigkeit halber..) Gruss Thomas bolle732, 23.04.2008 - 12:47 Hallo Thomas Bei mir brauchte ich kein LW A:. Warum das bei Dir so ist, kann ich mir nicht erklären. Startest Du das DOSEMU-Binary direkt oder verwendest Du ein Startskript, welches evtl. standardmässig irgendwelche Optionen aktiviert ? Gruss Andreas thass, 23.04.2008 - 22:31 Hallo Andreas, die Sache mit dem LW A: ist wohl ein Problem meiner HW. Auf dem Notebook gibt es immer ein /dev/fd0 auch wenn das Floopy gar nicht da ist. Wie gesagt, ich habe gestern mal eben DOSEMU from the scratch mit Bordmitteln probiert. D.h. ich habe es natürlich über das Gnome-Menu gestartet. Dabei wird die Default-Konfiguration also /etc/dosemu/dosemu.conf verwedet. Was mir zu Deinem Howto noch eingefallen ist: 1. unter Ubuntu steckt brctl im Paket bridge-utils (bei dem roten Hüten glaube ich auch), also 'sudo apt-get install bridge-utils' 2. Gibt es unter Debian/Ubuntu eine Pendant zu /etc/sysconfig/network-scripts /ifcfg-br*, so dass man die Bridge mit Bordmitteln konfigurieren kann, so von wegen ungewollter Seitenefekte durch Networkmanager & Co 3. Kann BBE inzwischen auf Web/DNS/POP-Server in anderen Subnetzen zugreifen? Sonst wären vielleicht noch ein paar Firewallregeln für Destination-NAT sinnvoll Ich werde das auch mal weiter probieren. DOSEMU scheint für NDO 'ne gute Alternative zu DOSBOX zu sein, von wegen Netzanbindung und vielleicht auch in Sachen drucken (PS->CUPS->PDF) Gruss Thomas